Memory deduplication improves memory utilization by detecting that two (or more) pages in memory are identical and merging the duplicate pair of pages into a single page. In an example, a first memory page may reside in a first application's memory space, and a second memory page may reside in a second application's memory space. If the first and second memory pages have the same content, the first memory page may be considered a duplicate of the second memory page and removed. In such an example, the page table of the first application may be modified to point to the second memory page, and the first application may use the second memory page rather than the first memory page, thus improving the utilization of memory.